package iso3.pt.model;

import java.util.HashSet;
import java.util.Set;

public class Alumno {
	private Integer id = -1;
	private Integer dni = -1;
	private String password;
	private String nombre;
	private String telefono;
	
	private Set<Asignatura> asignaturas;
	private Set<Evaluacion> evaluaciones;
	
	
	public Alumno() {
	}
	
	public Alumno(Integer dni, String password, String nombre, String telefono) {
		this.dni = dni;
		this.password = password;
		this.nombre = nombre;
		this.telefono = telefono;
		this.asignaturas = new HashSet<Asignatura>();
		this.evaluaciones = new HashSet<Evaluacion>();
	}
	
	public void addAsignatura(Asignatura asignatura) {
		this.asignaturas.add(asignatura);
	}
	
	public void addEvaluacion(Evaluacion evaluacion) {
		this.evaluaciones.add(evaluacion);
	}

	public void removeAsignatura(Asignatura a) {
		asignaturas.remove(a);
	}
	
	public void removeEvaluacion(Evaluacion e) {
		evaluaciones.remove(e);
	}
	
	public String getPassword() {
		return password;
	}

	public void setPassword(String password) {
		this.password = password;
	}

	public String getNombre() {
		return nombre;
	}

	public void setNombre(String nombre) {
		this.nombre = nombre;
	}

	public String getTelefono() {
		return telefono;
	}

	public void setTelefono(String telefono) {
		this.telefono = telefono;
	}

	public Set<Asignatura> getAsignaturas() {
		return asignaturas;
	}

	public void setAsignaturas(Set<Asignatura> asignaturas) {
		this.asignaturas = asignaturas;
	}

	public Set<Evaluacion> getEvaluaciones() {
		return evaluaciones;
	}

	public void setEvaluaciones(Set<Evaluacion> evaluaciones) {
		this.evaluaciones = evaluaciones;
	}

	public Integer getDni() {
		return dni;
	}

	public void setDni(Integer dni) {
		this.dni = dni;
	}
	
	public Integer getId() {
		return id;
	}

	public void setId(Integer id) {
		this.id = id;
	}
	
	@Override
	public boolean equals(Object o) {
		boolean equals = false;
		if(o != null && o instanceof Alumno) {
			Alumno a = (Alumno)o;
			equals = this.dni.equals(a.getDni());
		}
		return equals;
	}

	@Override
	public String toString() {
		return "Alumno [id=" + id + ", dni=" + dni + ", password=" + password + ", nombre="
				+ nombre + ", telefono=" + telefono + ", asignaturas="
				+ asignaturas + ", evaluaciones=" + evaluaciones + "]";
	}
}
